package com.itheima.d0_feedback;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/*
为什么不能在通过Stream.of()把map集合放流中操作,我看到of方法有一个重载的Stream.of(T t)
使用Stream处理Map集合，目的是要处理map中保存的数据。如果直接把map集合放到of方法中，就是把map当成是一个整体看待。

  1. System.out::println  是什么引用,什么意思?
    这是实例方法的引用，表示引用了out对象的println方法
  2. 为什么哈希表的增删改查效率比较好?
    因为他集结了数组，链表，红黑树的优点与一身。
  3. 匿名内部类为什么是创建的子类对象?
    new 父类/父接口(){
        重写方法
    }

  4.  静态引用能再简单说说就更好了.
    类名::方法名

    不管是什么方法的引用，这个方法能够被引用，肯定其逻辑和我的Lambda逻辑一致，参数匹配。



   5. stream流终结方法,集合为list类型怎么转换为set类型及map类型并输出
   collect(Collectors.toList()).forEach
   collect(Collectors.toSet()).forEach
   collect(Collectors.toMap(键转换器,值转换器)).forEach

 */
public class Demo {
    public static void main(String[] args) {
        Stream.of("Hello","World","Java","C++")
                .forEach(System.out::print);



        Map<String, String> map = new HashMap<>();
        map.put("A1", "A");
        map.put("A2", "A");
        map.put("A3", "A");
        Stream.of(map)
                .forEach(System.out::println);


        List<String> list = Stream.of("Hello", "World", "Java", "C++")
                .collect(Collectors.toList());


    }
}
